package org.gnyxy.service;

import org.gnyxy.dto.MaterialDTO;
import org.gnyxy.dto.MaterialPageQueryDTO;
import org.gnyxy.entity.Material;
import org.gnyxy.result.PageResult;
import org.gnyxy.vo.MaterialUserVO;
import org.gnyxy.vo.MaterialVO;

import java.util.List;

public interface MaterialService {
    /**
     * 新增菜品材料
     * @param materialDTO
     */
    void add(MaterialDTO materialDTO);

    /**
     * 分页查询
     * @param materialPageQueryDTO
     * @return
     */
    PageResult page(MaterialPageQueryDTO materialPageQueryDTO);

    /**
     * 修改菜品原材料
     * @param materialDTO
     */
    void update(MaterialDTO materialDTO);

    /**
     * 根据id查询
     * @param id
     * @return
     */
    MaterialVO getById(Long id);

    /**
     * 根据id删除菜品原材料
     * @param id
     */
    void deletebyId(Long id);

    /**
     * 设置状态
     * @param status
     */
    void setStatus(Integer status,Long id);

    /**
     * 查看未被禁用的菜品材料
     * @return
     */
    List<MaterialVO> getTrueStatus(String name);

    /**
     * 获取所有菜品原材料(配菜)
     * @return
     */
    List<MaterialUserVO> getAll();

    MaterialUserVO getTureStatusById(Long id);

    List<MaterialUserVO> getTrueStatusByName(String name);
}
